<?php
/**
* Mô tả:
*
* Lớp CAPCCache dùng để cache dữ liệu sử dụng gói PHP APC
*
* @access 	public
* @version	1.0
* @since  	June-2008
* @deprecated	Lớp mở rộng từ lớp cơ sở CCache
* @todo		Lớp CAPCCache: Sử dụng Alternative PHP Cache (APC). Dùng để cache dữ liệu
* @package 	lib
* @subpackage 	cache
*/

class CAPCCache extends CCache
{
	/*
     * Hàm khởi tạo
     */
	function __construct()
	{
	}
	/**
     * Hàm lưu cache
     * @param string $key Tên khoá lưu cache
     * @param string $var Nội dung cần cache
     * @param bool $expired Thời hạn tạo lại cache
     * @return ref $this Trả lại tham chiếu đến đối tượng cache hiện tại để có thể gọi hàm tiếp 
     */
	function &set($key, $var, $expired = false)
	{
		apc_store($_SERVER['SERVER_NAME'].$key, $var, $expired);
		return $this;
	}
	/**
     * Hàm xoá cache
     * @param string $key Tên khoá lưu cache
     * @param int $timeout Thời gian để xoá
     * @return ref $this Trả lại tham chiếu đến đối tượng cache hiện tại để có thể gọi hàm tiếp 
     */
	
	function &delete($key, $timeout=0)
	{
		apc_delete($_SERVER['SERVER_NAME'].$key);
		return $this;
	}
	/**
     * Hàm lấy giá trị của cache
     * @param string $key Tên khoá lưu cache
     * @return string Nội dung đoạn cache 
     */
	function get($key)
	{
		return apc_fetch($_SERVER['SERVER_NAME'].$key);
	}
	/**
     * Hàm xoá tất cả các cache
     * @return ref $this Trả lại tham chiếu đến đối tượng cache hiện tại để có thể gọi hàm tiếp 
     */
	function &flush()
	{
		apc_clear_cache();
		return $this;
	}
}
/**
 * Hàm tạo đối tượng CAPCCache
 * @return CAPCCache đối tượng CAPCCache mới tạo
 */
function CAPCCache()
{
	return new CAPCCache();
}
?>